package com.cis.education.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.cis.common.annotation.Excel;
import com.cis.common.core.domain.BaseEntity;

/**
 * 签到管理对象 edu_checkin
 * 
 * @author 管理员
 * @date 2022-01-19
 */
public class EduCheckin extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 签到ID */
    private Integer id;

    /** 签到教师ID */
    @Excel(name = "签到教师ID")
    private String teacherId;

    private EduTeacher teacher;

    /** 课程ID */
    @Excel(name = "课程ID")
    private Integer courseId;

    private EduCourse course;

    /** 教室ID */
    @Excel(name = "教室ID")
    private Integer classroomId;

    private Integer totalNum;

    private Integer attendNum;

    private EduClassroom classroom;

    private List<EduStudent> studentList;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date starttime;

    /** 结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date finishtime;

    /** 签到状态 */
    @Excel(name = "签到状态")
    private Integer status;

    /** 学生是否签到 **/
    private Integer studentStatus;

    public void setId(Integer id)
    {
        this.id = id;
    }

    public Integer getId()
    {
        return id;
    }
    public void setTeacherId(String teacherId) 
    {
        this.teacherId = teacherId;
    }

    public String getTeacherId() 
    {
        return teacherId;
    }
    public void setCourseId(Integer courseId)
    {
        this.courseId = courseId;
    }

    public Integer getCourseId()
    {
        return courseId;
    }
    public void setClassroomId(Integer classroomId)
    {
        this.classroomId = classroomId;
    }

    public Integer getClassroomId()
    {
        return classroomId;
    }
    public void setStarttime(Date starttime) 
    {
        this.starttime = starttime;
    }

    public Date getStarttime() 
    {
        return starttime;
    }
    public void setFinishtime(Date finishtime) 
    {
        this.finishtime = finishtime;
    }

    public Date getFinishtime() 
    {
        return finishtime;
    }
    public void setStatus(Integer status) 
    {
        this.status = status;
    }

    public Integer getStatus() 
    {
        return status;
    }

    public EduTeacher getTeacher() {
        return teacher;
    }

    public void setTeacher(EduTeacher teacher) {
        this.teacher = teacher;
    }

    public EduCourse getCourse() {
        return course;
    }

    public void setCourse(EduCourse course) {
        this.course = course;
    }

    public EduClassroom getClassroom() {
        return classroom;
    }

    public void setClassroom(EduClassroom classroom) {
        this.classroom = classroom;
    }

    public List<EduStudent> getStudentList() {
        return studentList;
    }

    public void setStudentList(List<EduStudent> studentList) {
        this.studentList = studentList;
    }

    public Integer getTotalNum() {
        return totalNum;
    }

    public void setTotalNum(Integer totalNum) {
        this.totalNum = totalNum;
    }

    public Integer getAttendNum() {
        return attendNum;
    }

    public void setAttendNum(Integer attendNum) {
        this.attendNum = attendNum;
    }

    public Integer getStudentStatus() {
        return studentStatus;
    }

    public void setStudentStatus(Integer studentStatus) {
        this.studentStatus = studentStatus;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("teacherId", getTeacherId())
            .append("courseId", getCourseId())
            .append("classroomId", getClassroomId())
            .append("starttime", getStarttime())
            .append("finishtime", getFinishtime())
            .append("status", getStatus())
            .append("totalNum", getTotalNum())
            .append("attendNum", getAttendNum())
            .toString();
    }
}
